package com.ambulance.project.manager.domain;

import com.ambulance.framework.aspectj.lang.annotation.Excel;
import com.ambulance.framework.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.time.LocalDateTime;

/**
 * 病员急救信息对象 biz_patient
 *
 * @author zr
 * @date 2020-05-11
 */
public class BizPatient extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 病人ID */
    private Long patientId;

    /** 120调度流水标识 */
    @Excel(name = "120调度流水标识")
    private String trans120;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /**
     * 导出固定行数所需查询条件
     */
    @TableField(exist = false)
    private String ids;

    public String getIds() {
        return ids;
    }

    public void setIds(String ids) {
        this.ids = ids;
    }

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String phone;

    /** 性别 */
    @Excel(name = "性别")
    private Integer sex;

    /** 年龄 */
    @Excel(name = "年龄")
    private Integer age;

    /** 病人住址 */
    @Excel(name = "病人住址")
    private String address;

    /** 报警人电话 */
    @Excel(name = "报警人电话")
    private String callPhone;

    /** 录入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "录入时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
    private LocalDateTime time;

    public LocalDateTime getTime() {
        return time;
    }

    public void setTime(LocalDateTime time) {
        this.time = time;
    }

    /** 病发地点 */
    @Excel(name = "病发地点")
    private String patientLocal;

    /** 病人录音文件 */
    @Excel(name = "病人录音文件")
    private String patientRecords;

    /** 接警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "接警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
    private LocalDateTime receiveNoticeTime;

    public void setReceiveNoticeTime(LocalDateTime receiveNoticeTime) {
        this.receiveNoticeTime = receiveNoticeTime;
    }

    /** 标识调度员是否处理(1=处理 0=未处理) */
    @Excel(name = "标识调度员是否处理(1=处理 0=未处理)")
    private Integer status;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String patientCard;

    /** 来电类型0普通救护车，1卒中救护车 */
    @Excel(name = "来电类型0普通救护车，1卒中救护车")
    private Integer phoneType;

    /** 医院标识 */
    @Excel(name = "医院标识")
    private Long uid;

    /** 主诉 */
    @Excel(name = "主诉")
    private String majorCase;

    /** 目标医院 */
    @Excel(name = "目标医院")
    private String hospital;

    /** 体检结果 */
    @Excel(name = "体检结果")
    private String checkResult;

    /** 初步诊断 */
    @Excel(name = "初步诊断")
    private String firstTreat;

    public void setPatientId(Long patientId)
    {
        this.patientId = patientId;
    }

    public Long getPatientId()
    {
        return patientId;
    }
    public void setTrans120(String trans120)
    {
        this.trans120 = trans120;
    }

    public String getTrans120()
    {
        return trans120;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setSex(Integer sex)
    {
        this.sex = sex;
    }

    public Integer getSex()
    {
        return sex;
    }
    public void setAge(Integer age)
    {
        this.age = age;
    }

    public Integer getAge()
    {
        return age;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setCallPhone(String callPhone)
    {
        this.callPhone = callPhone;
    }

    public String getCallPhone()
    {
        return callPhone;
    }

    public void setPatientLocal(String patientLocal)
    {
        this.patientLocal = patientLocal;
    }

    public String getPatientLocal()
    {
        return patientLocal;
    }
    public void setPatientRecords(String patientRecords)
    {
        this.patientRecords = patientRecords;
    }

    public String getPatientRecords()
    {
        return patientRecords;
    }

    public LocalDateTime getReceiveNoticeTime() {
        return receiveNoticeTime;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setPatientCard(String patientCard)
    {
        this.patientCard = patientCard;
    }

    public String getPatientCard()
    {
        return patientCard;
    }
    public void setPhoneType(Integer phoneType)
    {
        this.phoneType = phoneType;
    }

    public Integer getPhoneType()
    {
        return phoneType;
    }
    public void setUid(Long uid)
    {
        this.uid = uid;
    }

    public Long getUid()
    {
        return uid;
    }
    public void setMajorCase(String majorCase)
    {
        this.majorCase = majorCase;
    }

    public String getMajorCase()
    {
        return majorCase;
    }
    public void setHospital(String hospital)
    {
        this.hospital = hospital;
    }

    public String getHospital()
    {
        return hospital;
    }
    public void setCheckResult(String checkResult)
    {
        this.checkResult = checkResult;
    }

    public String getCheckResult()
    {
        return checkResult;
    }
    public void setFirstTreat(String firstTreat)
    {
        this.firstTreat = firstTreat;
    }

    public String getFirstTreat()
    {
        return firstTreat;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("patientId", getPatientId())
            .append("trans120", getTrans120())
            .append("name", getName())
            .append("phone", getPhone())
            .append("remark", getRemark())
            .append("sex", getSex())
            .append("age", getAge())
            .append("address", getAddress())
            .append("callPhone", getCallPhone())
            .append("time", getTime())
            .append("patientLocal", getPatientLocal())
            .append("patientRecords", getPatientRecords())
            .append("receiveNoticeTime", getReceiveNoticeTime())
            .append("status", getStatus())
            .append("patientCard", getPatientCard())
            .append("phoneType", getPhoneType())
            .append("uid", getUid())
            .append("majorCase", getMajorCase())
            .append("hospital", getHospital())
            .append("checkResult", getCheckResult())
            .append("firstTreat", getFirstTreat())
            .toString();
    }
}
